#pragma once

#include "ProtocolDriver.h"

class CNewProtocolCurtisHeLi : public CDriverProtocol
{
public:
	CNewProtocolCurtisHeLi();
	virtual ~CNewProtocolCurtisHeLi(){}
	virtual void setMotorId(uint32_t id) {
		_motorId = id;
		_motorRxId = 0x183;
		_motorTxId = 0x203;
	}
	
	virtual bool encode(motorDriverCmdType ct, int32_t val);
	virtual int decode(motorDriverCmdType (&ct)[10], int32_t (&val)[10], const CanRxMsg&);
	virtual bool getTargetPosMsg(CanTxMsg* tx_msg, int& num);
private:
	static int16_t _speedVal;
	static int16_t _forkVel;
	static int16_t _lift_flag;
	static int16_t _lower_flag;
	static int8_t _fork_UpperLimit;
	static int8_t _fork_LowerLimit;
};
